Method of stall identification and recovery

ABSTRACT

A method of wireless communication. The method includes the step of determining a probability of a stalling condition for at least one data packet in a sequence of data packets. The method also includes the step of transmitting a flush command in response to the determined probability of the stalling condition. Prior to the transmitting of a flush command, a wait time may be estimated in response to the probability determined for the stalling condition. This wait time may be estimated by determining an average number of time slots necessary before the first data packet may be transmission. The estimated wait time may depend on the successful transmission of another packet having a lower order (e.g., previous) designation in the sequence of data packets, as well as on the probability determined for the stalling condition (e.g., the probability of a no-stalling condition).

BACKGROUND OF THE INVENTION

I. Field of the Invention

The present invention relates to telecommunications, and moreparticularly to wireless communications.

II. Description of the Related Art

Wireless communications systems employ a number of geographicallydistributed, cellular communication sites or base stations. Each basestation supports the transmission and reception of communication signalsto and from stationary or fixed, wireless communication devices orunits. Each base station handles communications over a particular regioncommonly referred to as a cell/sector. The overall coverage area for awireless communications system is defined by the union of cells for thedeployed base stations. Here, the coverage areas for adjacent or nearbycell sites may overlap one another to ensure, where possible, contiguouscommunications coverage within the outer boundaries of the system.

When active, a wireless unit receives signals from at least one basestation over a forward link or downlink and transmits signals to atleast one base station over a reverse link or uplink. There are manydifferent schemes for defining links or channels for a cellularcommunication system, including, for example, TDMA (time-divisionmultiple access), FDMA (frequency-division multiple access), and CDMA(code-division multiple access) schemes. In CDMA communications,different wireless channels are distinguished by differentchannelization codes or sequences that are used to encode differentinformation streams, which may then be modulated at one or moredifferent carrier frequencies for simultaneous transmission. A receivermay recover a particular stream from a received signal using theappropriate code or sequence to decode the received signal.

For voice applications, conventional cellular communication systemsemploy dedicated links between a wireless unit and a base station. Voicecommunications are delay-intolerant by nature. Consequently, wirelessunits in wireless cellular communication systems transmit and receivesignals over one or more dedicated links. Here, each active wirelessunit generally requires the assignment of a dedicated link on thedownlink, as well as a dedicated link on the uplink.

With the explosion of the Internet and the increasing demand for data,resource management has become a growing issue in cellular communicationsystems. Next generation wireless communication systems are expected toprovide high rate packet data services in support of Internet access andmultimedia communication. Unlike voice, however, data communications maybe relatively delay tolerant and potentially bursty in nature. Datacommunications, as such, may not require dedicated links on the downlinkor the uplink, but rather enable one or more channels to be shared by anumber of wireless units. By this arrangement, each of the wirelessunits on the uplink competes for available resources. Resources to bemanaged in the uplink include the received power at the base station,and the interference created by each user to other users in the samesector or cell, as well as in other sectors or cells, for example. Thisis in contrast to the resources to be managed on the downlink, includingfixed transmit power budgets.

While data communications may be relatively delay tolerant andpotentially bursty in nature, one problem expected in the nextgeneration wireless communication systems is failed data block or datapacket transmission. More particularly, a base station, for example, mayunsuccessfully transmit one or more data packets from a number ofpackets to an identified wireless unit. As a result of this failure, thebase station may use any number of retransmission techniques, such ashybrid automatic repeat request (“HARQ”), for example, to deliver thedata packet(s) not satisfactorily received by the wireless unit. Whilethe base station attempts retransmission of previously unsuccessfultransmitted packets, other data packets may be, however, subsequentlytransmitted to the wireless unit.

In High Speed Downlink Packet Access (“HSDPA”) systems, each wirelessunit employs a timer set by the base station. Packet data is sent fromthe base station to the wireless unit in a sequential manner. Uponsatisfactory reception, the wireless unit delivers the packet data fromits buffer for processing in the same sequential order. If, duringreception, the wireless unit determines that a gap in the sequence orderof the received data packets has occurred, the wireless unit then startsa timer for the missing data packet(s). The timer provides a time windowin which the wireless unit waits for the satisfactory reception of eachdata packet, perceived as missing, by transmission and/or aretransmission scheme(s). If the retransmission scheme fails tosatisfactorily deliver the missing data packet(s) to the wireless unitbefore the timer window passes, the wireless unit assumes the packet(s)to be lost.

Data packets may be lost for various reasons. In one scenario, the basestation may determine that the maximum retransmission attempts for adata packet have been exceeded and no further retransmission arepermissible. Secondly, the base station may decide to unilaterally abortthe transmission or retransmission of the data packet(s). Thirdly, thebase station may determine that its resources are needed for a higherpriority customer(s) or higher priority data, and therefore mayterminate the transmission and/or retransmission of the “missing” datapacket. Fourthly, the wireless unit may receive the transmitted datapacket with an error. Here, the wireless unit transmits a NACK (e.g., anegative acknowledgment to indicate reception of a data packet witherrors), though the base station mistakenly receives an ACK (e.g., apositive acknowledgment indicating the wireless unit received the datapacket satisfactorily) instead and, thusly, no retransmission will occurin the base station.

Consequently, in HSDPA systems, the base station may determine themissing one or more data packets as lost at any point of thetransmission and/or retransmission. In contrast, however, the wirelessunit will not ascertain the missing data packet(s) as lost until afterthe timer expires. Consequently, the wireless unit has to wait until thetimer expires before processing the received data packets, and/orattempting to recover the lost packet(s) by various other techniques.This delay or waiting time for the timer to expire is sometimes referredto as a stall period.

The length of the stall period may be relatively substantial in time.The base station may determine the missing packet as lost by, forexample, aborting its retransmission or determining to serve higherpriority customer(s) or higher priority data, in significantly less timethan the setting of the timer by the base station. It should be notedthat the timer is initially set conservatively such that the wirelessunit may handle a predetermined number of retransmission attempts formissing data packets. Due to the randomness of the completion time ofeach transmission, the time to complete a designated number ofretransmission attempts may vary. Consequently, the timer is setconservatively so that valid transmissions may not be terminatedprematurely.

As a result of the hereinabove, a demand exists for a method supportiveof efficient, high-speed data communications that avoids or minimizesunnecessary delays. Moreover, a need exists for a method of minimizingthe effects of a stalling condition period in wireless units.

SUMMARY OF THE INVENTION

The present invention provides a method for data communication thatminimizes the effects of a stalling condition in telecommunicationsnetworks. More particularly, the present invention provides a method ofdetermining the probability that one of a number of sequential datapackets may stall due to out-of-order reception. With the probability ofa stalling condition determined, the present invention may transmit aflush command to alleviate the effects of the stalling condition. Forthe purposes of the present invention, a flush command may correspondwith a base station (e.g., Node B) for detecting whether a data packethas stalled, and for detecting whether the stalled data packet may bedesignated for a particular memory location (e.g., one end of a finitebuffer) at the wireless unit.

In an embodiment of the present invention, a probability of a stallingcondition is determined for at least one data packet in a sequence ofdata packets. The method also includes the step of transmitting a flushcommand in response to the determined probability of the stallingcondition. Prior to the transmitting of a flush command, a wait time maybe estimated in response to the probability determined for the stallingcondition. The wait time may be estimated by determining an averagenumber of time slots necessary before one data packet may betransmitted. The estimated wait time may depend on the successfultransmission of another packet having a lower order (e.g., previous)designation in the sequence of data packets, as well as on theprobability determined for the stalling condition (e.g., the probabilityof a no-stalling condition).

This and other embodiments will become apparent to those skilled in theart from the following detailed description read in conjunction with theappended claims and the drawings attached hereto.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be better understood from reading thefollowing description of non-limiting embodiments, with reference to theattached drawings, wherein below:

FIG. 1 depicts a flow chart of an embodiment of the present invention;

FIG. 2 depicts a flow chart of another embodiment of the presentinvention;

FIG. 3 depicts an aspect of the present invention; and

FIG. 4 depicts another aspect of the present invention.

It should be emphasized that the drawings of the instant application arenot to scale but are merely schematic representations, and thus are notintended to portray the specific dimensions of the invention, which maybe determined by skilled artisans through examination of the disclosureherein.

DETAILED DESCRIPTION

The present invention provides a method for data communication thatminimizes the effects of a stalling condition in telecommunicationsnetworks. More particularly, the present invention provides a method ofdetermining the probability that one of a number of sequential datapackets may stall due to out-of-order reception. With the probabilitydetermined, the present invention may attempt to alleviate the effectsof the stalling condition.

Referring to FIG. 1, a flow chart depicting an embodiment of the presentinvention is illustrated. More particularly, an algorithmic method (10)is shown for minimizing the effects of a stalling condition intelecommunications networks. It should be noted that the stallingcondition might arise, in one example of the present invention, wherepackets are transmitted in support of High Speed Downlink Packet Access(“HSDPA”) and/or High Speed Uplink Packet Access (“HSUPA”). Thesepackets may, thusly, have a specifically designated sequence or order.

The algorithmic method (10) of FIG. 1 may initially include the step ofdetermining a probability of a stalling condition for at least onepacket from a sequence of data packets (step 20). The probability of astalling condition may be determined in response to one or more systemparameters. This system parameter(s) may be available, ascertainableand/or calculate-able at the base station (e.g., Node B). The one ormore system parameters may include a size of the sequence of datapackets, a number of repeat request processes, at least one priority foreach of the number of repeat request processes, a probability of errorover an uplink (e.g., uplink acknowledgement error) and a probability oferror over a downlink (e.g., downlink packet transmission error), forexample.

Once the probability of a stalling condition for at least one packet isdetermined, the algorithmic method (10) of FIG. 1 may thereafter includethe step of estimating a wait time prior to attempting to alleviate theeffects of the stalling condition (step 30). The step of estimating await time may be executed in response to determining the probability ofthe stalling condition. More particularly, the step of estimating a waittime may include determining a number of time slots that one data packet(e.g., the most recent data packet) from the sequence of data packetsmay experience prior to transmission (e.g., prior to the transmission ofthe most recent data packet). In one example, the number of time slotsmay be an average.

It should be noted that determining the number of time slots might berealized by several steps. Here, the most recent data packet may befirst cued for transmission. Thereafter, a determination should be madeas to whether another data packet, having a lower order sequentialdesignation than the most recent data packet, previously transmitted butnot yet received, may be stalled. From these steps, the significance ofthe estimated wait time for the most recent data packet may be derived.

Subsequently, the algorithmic method (10) of FIG. 1 may thereafterinclude the step of transmitting a flush command to alleviate theeffects of the stalling condition (step 40). The transmission of theflush command may be executed in response to the determined probability.For the purposes of the present invention, a flush command maycorrespond with a base station (e.g., Node B) for detecting whether adata packet has stalled, and for detecting whether the stalled datapacket may be designated for a particular memory location (e.g., one endof a finite buffer) at the wireless unit.

In one embodiment of the present invention, the step of transmitting aflush command may be realized by transmitting the aforementioned mostrecent data packet in response to determining that the another datapacket, having a lower order sequential designation than the most recentdata packet, previously transmitted has stalled. Here, the receiver mayreceive the most recent data packet. A determination may then be made ateither the receiver and/or transmitter as to whether stalled data packetwas designated for a particularly memory location. In one example, theparticular memory location is at one end (e.g., the top or bottom) of afinite memory buffer. If stalled data packet was designated for bottomof the buffer, for example, the transmitter may execute a flush commandsuch that the most recent data packet forces the data packet in theadjacent memory location to fill the gap in the buffer.

Referring to FIG. 2, a flow chart depicting another embodiment of thepresent invention is illustrated. More particularly, an algorithmicmethod (100) is shown for addressing a stalling condition betweeninfrastructure elements in a telecommunications network, such as a basestation (e.g., Node B) and a base station controller (e.g., radionetwork controller), for example. It should be noted that the stallingcondition might arise, in one example of the present invention, wherepackets are transmitted in support of a service such as High SpeedDownlink Packet Access (“HSDPA”) and/or High Speed Uplink Packet Access(“HSUPA”). These packets may, thusly, have a specifically designatedsequence or order.

The algorithmic method (100) of FIG. 2 includes the step of determininga probability of a stalling condition for at least one packet from asequence of data packets (step 120). In one example, the step ofdetermining the probability of a stalling condition may be performed atthe base station (e.g., Node B) in response to one or more systemparameters. These system parameter(s) may be available, ascertainableand/or calculate-able at the base station (e.g., Node B). The one ormore system parameters may include a size of the sequence of datapackets, a number of repeat request processes, at least one priority foreach of the number of repeat request processes, a probability of errorover an uplink and a probability of error over a downlink, for example.

Once the probability of a stalling condition for at least one packet isdetermined, the algorithmic method (100) of FIG. 2 may calculate andtransmit a recommended range for a service time-out condition inresponse to the determined probability (step 130). The service time-outcondition may be performed by the base station (e.g., Node B) andsubsequently transmitted to the base station controller (e.g., radionetwork controller). The recommended service time-out condition maycorrespond to a suggested timer range to minimize a stall condition,while maintaining network efficiency.

More particularly, the timer, as selected from the suggested timerrange, may be initiated should, for example, a data packet be deemedmissing. Once the timer expires, the missing data packet that triggereda stall condition is then deemed lost. It should be noted that once thetimer expires, the wireless unit communicates with the upper layer thatthe packet is lost. Consequently, the upper layer may attempt to recoverthis lost packet.

Thereafter, the base station controller (e.g., radio network controller)may receive the recommended range for a service time-out condition fromthe base station (e.g., Node B). During a call set-up, for example, aservice time-out condition range may be transmitted by the base stationcontroller (e.g., radio network controller) to the wireless unit. Thewireless unit then selects an optimum service time-out condition tomaximize its own performance. Therefore, the algorithmic method (100) ofFIG. 2 may also include the step of transmitting a service time-outcondition range, as determined by the base station controller during acall set-up, to the wireless unit (step 140).

Exemplary Embodiment

In Universal Mobile Telecom Service (“UMTS”), for example, dataintegrity for High Speed Downlink Packet Access (“HSDPA”) and High SpeedUplink Packet Access (“HSUPA”) functionality may be maintained via anasynchronous-downlink synchronous-uplink N-channel Hybridautomatic-repeat-request (“ARQ”) scheme. Using this type of ARQ method,the receiver may accept packets out of their originally intendedsequence. In order to insure that packets are forwarded to higher layersin their proper order, a reordering buffer exists within the receiverprotocol. The behavior of the reordering buffer across a wide range ofsystem parameter values via simulation may be, therefore, relevant toaddressing a stalling condition. An analytical model of the receiverre-ordering buffer may be employed by deriving the probability ofstalling and the expected waiting time to remove a stall. In thisregard, the transmitter may decide if and when to remove a stall at thereceiver in the event of a dead phase.

As in traditional ARQ schemes, each data packet may be assigned asequence number in increasing order. Packet delivery may also be insuredwith the addition of error detecting codes to the information bits andrequiring that packets be either positively (e.g., ACK) or negatively(e.g., NACK) acknowledged. For NACKs, the packet should beretransmitted. If no feedback message is received within a pre-definedinterval, the transmitter may interpret this as a NACK such that thepacket may also be retransmitted—hence the synchronous uplink.

In UMTS, for example, HSDPA functionality may be introduced to increasethe maximum rate and throughput of the downlink performance. One area ofenhancement is improving the responsiveness to quickly adapt to thecondition of the channel. Thus, the addition of a medium access control(“MAC”) entity, sometimes labeled MAC-hs, may be implemented in a basestation (e.g., Node B) as part of the MAC sub-layer. One ARQ techniquemay be supported through N ARQ state machines or processes in the MAC-hsentity in the base station. With one ARQ process controlling the ARQoperation over one channel, there may be N ARQ processes for the Nchannels. For each wireless unit, a new transmission sequence number(“TSN”) may be appended to each transmission in the N channels. Up to amaximum of eight simultaneous channels or processes may exist for asingle wireless unit. These processes may be divided into sub-groupsaccording to different priority classes of traffic and the TSNs may beunique to each priority class.

Under this scheme, data packets may arrive at the receiver out of theiroriginal order. As different HARQ techniques may each require adifferent number of retransmissions, the retransmissions process may bereceived successfully in random time. Since data packets should bedelivered to higher layers in their original order, a packet may not bedelivered to a higher layer if a data packet with a lower sequencenumber has not yet been received. The effects of the out-of-sequencepackets on the higher layer may depend on the operating mode configuredfor a particular service.

If a packet may not be delivered to higher layers due to a missing lowernumbered packet, the missing packet may be deemed stalled. Referring toFIG. 3, an example of stalling is illustrated at the receiver. Here, there-ordering buffer at the receiver is shown. Here, packets #1, #2, #3,#4 have been sent, but packet #2 has not yet been correctly received atthe receiver. Packet #1 is delivered to the higher layer, but there is astall or “gap” in the re-ordering buffer, preventing the delivery ofpackets #3 and #4 to the higher layer.

Two basic stall avoidance mechanisms may be employed for removing gapsin the re-ordering buffer due to out-of-sequence delivery. The firststall avoidance approach utilizes a timer mechanism. Here, the timer maybe started if a packet may not be delivered to higher layers due to thenon-arrival of a packet with a lower sequence number. Upon theexpiration of the timer, the gap may be flushed and the recovery of thelost packet should be accomplished via a higher radio link control(“RLC”) layer. This methodology, however, introduces greater latency.

The second stall avoidance may be a window-based mechanism. Here, thetransmitter may operate under a set of rules derived from the modularnature of the packet sequence numbers to remove stalling in the receiverre-ordering buffer. The window size defines the range of expectedsequence numbers at the receiver, and in order to avoid ambiguity, thewindow size may not be larger than half the TSN space. For example, ifthe TSN is allotted 3 bits, a sequence number range may be 0, 1, 2, . .. , 7. The transmitter can only transmit packets within a TSN window of4 packets (or less). If TSNs #1, #2 and #3 are received and #0 is notreceived, the transmitter may either re-transmit #0 or transmit a newpacket #4. Transmitting #4, however advances the window and maycommunicate to the receiver that #0 will not be re-transmitted. This mayend the stall caused by packet #0 on the higher numbered packets thatmay not be delivered to the higher layer.

It should be noted that for UMTS, the window size might define themaximum range of acceptable packet numbers at the receiver. Such amaximum range does not exist for the window size-based technique. Forexample, if the UMTS window size is 3, initially TSNs {0,1,2} may besent. If, however, #1 and #2 are received while #0 is not received,either #0 may be re-transmitted or #3 nay be sent. If #0 is sent, onlythe combination {0} may be allowed, while if #3 is sent the window isadvanced and the allowed combination becomes {3,4,5}. For the windowsize-based scheme, {0,4,5} may be allowed, where the range of the packetnumbers may be greater than 3. The range of expected sequence numbersmay be allowed to increase. On the other hand, the window sizedefinition may be the number of packets sent before either aretransmission or the transmission of a new packet. The windowsize-based technique may send new packets each window as long as atleast one packet in the previous window may be received successfully, incontrast with other UMTS schemes, a new window may only send a newpacket if the window has been advanced.

Moreover, under one UMTS N-channel scheme, each process may not be tiedto a particular time slot. Here, each process may lose its turn due topre-emption by higher priority class traffic or users with morefavorable radio conditions. Indeed, the transmitter may send nothing toa user or particular priority class within a user for several time slotsdue to the existence of different priority classes and pre-emption dueto other users or internal priority classes.

The window size-based technique described previously assumes an infinitesequence number space, whilst one UMTS approach may define a modularscheme based on the number of bits allotted to the TSN. As a directresult, this one UMTS approach should operate under the aforementionedwindow mechanism.

Referring to FIG. 4, a transmission process is illustrated. It isassumed for the sake of simplicity that the number of HARQ processes maybe equal to the half the TSN space. In addition, the error in thefeedback channel from NACK to ACK is also not being considered. For thepurposes of the foregoing teaching, the following points should benoted. Firstly, the backward/forward phase notation from a multiplereceiver case by setting M=1. Moreover, the forward phase (“F”) may bedefined as the sequence of consecutive slots on a column until thepacket may be correctly received, while the backward phase (“B”) may bedefined as the sequence of slots on a column following reception, untilthe associated ACK may be received at the transmitter. It should also benoted that an underlined F identifies a new packet transition(s) thatmay occur without a backward phase—e.g., the ACK may be received on thefirst attempt. The packet sequence numbers may be assist in furtherillustrating the transmission process. It should also be assumed thatthree (3) bits may be employed for the TSN, where a sequence numberspace may correspond with 0, 1, 2, . . . , 7, four (4) retransmissionprocesses are employed, and no NACK→ACK errors, as detailed herein.Another assumption taken is that a modular window should have a size ofhalf the sequence number space—e.g., 4.

At the first frame/cycle, packets #0, #1, #2, and #3 may be sent byprocesses A, B, C, and D, respectively. Only #0 may be successful. Thecorresponding ACK, however, may also be initially successful.

At the second frame, packets #4, #1, #2, and #3 may be transmitted byprocesses A, B, C, and D, respectively. The modular window may beadvanced due to the successful reception of packet #0 during the firstframe. Packet #2 may be the only unsuccessful packet. As illustrated,process A keeps transmitting packet #2 to illustrate the fact that theACK is not correctly received, and may thus eventually causes a stall inthe receiver.

At the third frame, packets #4, #5, #2, and #3 may be sent by processesA, B, C, and D, respectively. The modular window may be advanced due tothe successful reception of packet #1 during the second frame. Onceagain, packet #2 is unsuccessful. Process A may be retransmitting #4since no ACK was received during the previous frame. Process D, on theother hand, may be unable to transmit a new packet since the next packetnumber, #6, is outside of the current window. This circumstance may bereferred to as a stall phase. To be sure, the transmitter may decide toadvance the window and hence flush the reordering buffer, therebyavoiding a dead phase. In so doing, however, increased latency may beintroduced due to packet recovery at higher layers.

At frame 4, due to the failure of packet #2 during the previous frame,and hence the failure to advance the window, processes A, B, and D mayexperience a stall phase. However, packet #2 is now successful,advancing the window, and allowing four new packets to be sent at frame5. The stall phase increases the time between packet renewals for eachprocess. Moreover, the transmission processes (columns) may no longer beindependent. Specifically, the failure of a transmission in one processduring one frame may prevent the transmission of new packets in allother processes at the next frame.

While the particular invention has been described with reference toillustrative embodiments, this description is not meant to be construedin a limiting sense. It is understood that although the presentinvention has been described, various modifications of the illustrativeembodiments, as well as additional embodiments of the invention, will beapparent to one of ordinary skill in the art upon reference to thisdescription without departing from the spirit of the invention, asrecited in the claims appended hereto. Consequently, the method, systemand portions thereof and of the described method and system may beimplemented in different locations, such as network elements, thewireless unit, the base station, a base station controller, a mobileswitching center and/or a radar system. Moreover, processing circuitryrequired to implement and use the described system may be implemented inapplication specific integrated circuits, software-driven processingcircuitry, firmware, programmable logic devices, hardware, discretecomponents or arrangements of the above components as would beunderstood by one of ordinary skill in the art with the benefit of thisdisclosure. Those skilled in the art will readily recognize that theseand various other modifications, arrangements and methods can be made tothe present invention without strictly following the exemplaryapplications illustrated and described herein and without departing fromthe spirit and scope of the present invention It is thereforecontemplated that the appended claims will cover any such modificationsor embodiments as fall within the true scope of the invention.

1. A method of communication in a wireless system, the wireless system providing at least one communications path between a transmission node and a receiving node, the method comprising: determining at a transmitter at the transmission node a probability of a stalling condition occurring at a receiver at the receiving node for at least one data packet in a sequence of data packets transmitted from the transmission node, the stalling condition probability being determined in relation to a state of at least one system parameter for the wireless system, the system parameter state being determinable at the transmitter; and transmitting a flush command to the receiver based on the determined probability of the stalling condition, the flush command being operative to terminate the stalling condition.
 2. The method of claim 1, wherein the at least one wireless system parameter comprises a size of the sequence of data packets, a number of repeat request processes, at least one priority for each of the number of repeat request processes, a probability of error over an uplink and a probability of error over a downlink.
 3. The method of claim 1, comprising: estimating a wait time, prior to the transmitting of a flush command, as a function of the determined probability of the stalling condition.
 4. The method of claim 3, wherein the step of estimating a wait time comprises: determining an average number of time slots for at least a first data packet prior to transmission.
 5. The method of claim 4, wherein the step of determining an average number of waiting time slots comprises: queuing at least the first data packet for transmission; and determining if a second data packet having a lower sequential designation than the first data packet has stalled.
 6. The method of claim 5, wherein the step of transmitting a flush command comprises: transmitting the first data packet in response to determining the second data packet has stalled.
 7. The method of claim 6, wherein the step of transmitting the first data packet comprises: determining if the second data packet is designated for a particular memory location.
 8. The method of claim 7, wherein the particular memory location is at one end of a finite buffer.
 9. The method of claim 1, comprising: transmitting a recommended range for a service time-out condition in response to the determined probability of a stalling condition.
 10. The method of claim 9, wherein the service time-out condition corresponds with at least one of a high-speed downlink packet access service and a high-speed uplink packet access service. 